Method and device for controlling a machine

ABSTRACT

A device and computer implemented method of controlling a machine. The method includes determining a state of the machine, determining a policy comprising parameters in particular a gain, for mapping the state of the machine to an input for the machine, mapping the state to the input according to the policy, an controlling the machine according to the input. A cone program is defined by a plurality of parameters of a linear quadratic regulator for the machine. A cost function is defined depending on the plurality of parameters and the policy. A constraint is defined for the parameters and for a solution of the cone program. The determining of the policy comprises determining the solution to the cone program so that the cost function meets a criterion subject to the constraint.

CROSS REFERENCE

The present application claims the benefit under 35 U.S.C. § 119 of German Patent Application No. DE 102020215313.2 filed on Dec. 3, 2020, which is expressly incorporated herein by reference in its entirety.

BACKGROUND INFORMATION

Linear Quadratic Regulators and Linear Quadratic Gaussian Regulators aim at controlling a machine according to an output feedback law that is optimal in the sense of minimizing an expected value of a quadratic cost criterion. Such machines may for example be robots or at least partially autonomous driving vehicles. Such machines may operate in a variety of environments, e.g., in a plant system.

Controllers that are based on such regulators have to cope with uncertainty or perturbations and have to model and capture safety constraints. The uncertainty or perturbations are often coming from an environment of the machine that is controlled such as changing lighting or weather conditions, sensor noise, actuator noise, action delays etc.

Usually such safety constraints are not representable explicitly during training or optimization. That's why an uncertainty over safety should be represented, and a robust controller is needed.

SUMMARY

A method, in particular, a computer implemented method for controlling a machine according to an example embodiment of the present invention provides a robust control. A device for controlling the machine according to an example embodiment of the present invention provides a robust controller.

In accordance with an example embodiment of the present invention, the, in particular, computer implemented method of controlling the machine, comprises determining a state of the machine, determining a policy comprising parameters in particular a gain, for mapping the state of the machine to an input for the machine, mapping the state to the input according to the policy, controlling the machine according to the input, wherein a cone program is defined by a plurality of parameters of a linear quadratic regulator for the machine, wherein a cost function is defined depending on the plurality of parameters and the policy, wherein a constraint is defined for the parameters and for a solution of the cone program, wherein determining the policy comprises determining the solution to the cone program for that the cost function meets a criterion subject to the constraint, determining the parameters depending on the solution, determining a loss, in particular a normalized, depending on a difference between the policy and a reference for the policy or depending on a difference between the input and a reference for the input for the machine, determining a partial derivative of the loss with respect to the policy, determining a partial derivative of the policy with respect to the solution, determining a partial derivative of the solution with respect to the plurality of parameters, and determining at least a subset of the plurality of parameters depending on the partial derivatives for that the loss meets a criterion.

Preferably, determining at least the subset of the plurality of parameters for that the loss meets the criterion comprises determining the at least the subset of the plurality of parameters that minimizes the loss.

In one aspect of the present invention, the plurality of parameters comprises parameters of a state equation for the machine, at least one parameter that models a perturbation attributed to the parameters of the state equation for the machine, at least one parameter that models a variance of the perturbation, and parameters of the cost function, wherein the method comprises predetermining the parameters of the state equation, predetermining the at least one parameter that models the variance, predetermining the parameters of the cost function, and determining the at least one parameter that models the perturbation for that the cost function meets the criterion depending on the predetermined parameters.

In one aspect of the present invention, the plurality of parameters comprises parameters of a state equation for the machine, at least one parameter that models a perturbation attributed to the parameters of the state equation for the machine, at least one parameter that models a variance of the perturbation, and parameters of the cost function, wherein the method comprises predetermining the at least one parameter that models the perturbation, predetermining the at least one parameter that models the variance, predetermining the parameters of the cost function, and determining the parameters of the state equation for that the cost function meets the criterion depending on the predetermined parameters.

In accordance with an example embodiment of the present invention, the method preferably comprises determining a positive semidefinite matrix belonging to a positive semidefinite cone in a subspace of symmetric matrices that meets the constraint, wherein the matrix comprises elements that are defined depending on the parameters of the state equation for the machine and/or that are defined depending the solution, wherein the method comprises predetermining the parameters of the state equation for the machine and determining the solution for that the matrix meets the constraint for the predetermined parameters of the state equation for the machine.

In one aspect of the present invention, the matrix comprises elements that are defined depending on the at least one parameter that models the perturbation and in that the matrix comprises elements that are defined depending on the at least one parameter that models the variance, wherein the method comprises the at least one parameter that models the perturbation, predetermining the at least one parameter that models the variance, and determining the solution for that the matrix meets the constraint for the predetermined parameters of the state equation for the machine, the predetermined at least one parameter that models the perturbation, and the predetermined at least one parameter that models the variance.

The method may comprise determining at least one element of the matrix depending on a factor that is larger than Zero or equal to Zero.

Determining the solution to the cone program may comprise determining the policy depending on the solution that minimizes the cost function for the plurality of parameters of the linear quadratic regulator.

In accordance with an example embodiment of the present invention, the method may comprise reading a set of references for the policy, selecting a first reference of the set, determining a first difference between the policy and the first reference, determining a sum of the first difference and a second difference that is determined for another policy and another reference of the set of references for the policy, determining the loss depending on the sum.

The input may comprise a digital image, wherein determining the state comprises recognizing an object in at least a part of the digital image, determining a property of the object, in particular a position, a class or an attribute of the object, and determining the state depending on the property.

In accordance with an example embodiment of the present invention, the method may comprise capturing the input with a sensor, in particular a camera, a radar sensor, a LiDAR sensor, a ultrasonic sensor, a motion sensor, that monitors the machine or an environment of the machine.

The device for controlling the machine is configured to execute the steps of the example method(s).

A computer program is provided as well, that comprises computer readable instructions that, when executed on a computer, cause the computer to execute the example method (s).

Further advantageous embodiments can be derived from the following description and the figures.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a part of a control system, in accordance with an example embodiment of the present invention.

FIG. 2 depicts parts of a control method, in accordance with an example embodiment of the present invention.

DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

FIG. 1 discloses a part of a control system 100. The control system 100 comprises a controller 102 that is adapted to control a machine 104.

The machine 104 may be a robot or at least partially autonomous driving vehicle. The machine 104 may operate in an environment 106, e.g., in a plant system.

The control system 100 may comprise a sensor 108.

The sensor 108 is adapted to capture information y about a state x of the machine 104.

The sensor 108 may be a camera, a radar sensor, a LiDAR sensor, a ultrasonic sensor, a motion sensor or a thermal imaging sensor that is adapted to capture digital images that contain the information. The sensor 108 may be a velocity sensor or an acceleration sensor or a yaw sensor or a roll sensor.

The sensor 108 may be mounted to the machine 104 to monitor the environment 106. The sensor 108 may be built into the machine 104 to monitor an internal parameter of the machine 104.

In the example depicted in FIG. 1 , the camera is arranged to monitor the machine 104.

A plurality of the same type of such sensors and/or different types of such sensors may be arranged to provide the information.

The control system 100 may comprise a processor 110 that is adapted to receive the information from the sensor 108 or from a plurality of sensors and process the information to determine the state x of the machine 104.

The processor 110 may be configured to recognize an object in at least a part of a digital image that has been captured by the camera. The processor 110 may be configured to determine a property of the object, in particular a position, a class or an attribute of the object. In the example, the processor 110 is adapted to recognize the machine 104 as object and to determine the position of the machine 104 as the state x from a position of the object in the digital image. A part of the machine 104, e.g. a robot arm or thereon tool, may be controlled alike.

The controller 102 is adapted to control the machine 104 depending on the state x. The controller 102 is adapted to provide an input u to the machine 104 according to a policy m(x) that depends on the state x.

The processor 110 may be configured to provide the input u to control a movement of the machine 104 in the environment from the position represented by the state x in particular to a target position.

The sensor 108 is connected in the example to the processor 110 with a data link 112. The controller 102 is connected in the example to the machine 104 with a in particular wireless data link 114.

In one aspect, in particular for small perturbations, the controller 102 is arranged according to an infinite horizon linear-quadratic regulator, LQR, problem:

$\pi = {\arg\mspace{14mu}{\min\limits_{u = {\pi{(x)}}}{\sum\limits_{t = 0}^{\infty}\;\left( {{x_{t}^{T}{Qx}_{t}} + {u_{t}^{T}{Ru}_{t}}} \right)}}}$ s.t.  x_(t + 1) = Ax_(t) + Bu_(t) where π is the policy, and x_(t)∈

^(n) is the state of the machine 104 at a step t, and u_(t)∈

^(m) is an input provided by the controller 102 to the machine 104 at the step t, and A∈

^(n×n), B∈

^(n×m) are parameters that model the machine 104, and Q∈

^(n×n), R∈

^(m×m) are positive definite matrices which model the quadratic cost.

In one aspect, the controller 102 is arranged according to a robust infinite horizon linear-quadratic-Gaussian, LQG, control problem under ellipsoidal uncertainty:

$\pi = {\arg\mspace{14mu}{\min\limits_{u = {\pi{(x)}}}{\sum\limits_{t = 0}^{\infty}\;\left( {{x_{t}^{T}{Qx}_{t}} + {u_{t}^{T}{Ru}_{t}}} \right)}}}$ s.t.  x_(t + 1) = Ax_(t) + Bu_(t) + w_(t) w_(t) ∈ N(0, σ²I_(n)), x₀ ∼ P₀[A, b] ∈ {A, B:(X^(T) − μ)^(T)D(X^(T) − μ) ≤ I} where π is a policy, and x_(t)∈

^(n) is the state of the machine 104 at a step t, and u_(t)∈

^(m) is an input provided by the controller 102 to the machine 104 at the step t, and A∈

^(n×n), B∈

^(n×m) are parameters that model the machine 104, _(and) I_(n) is a n×n identity matrix, and I is a (m+n)×(m+n) identity matrix, and [A,B] is a concatenated vector of A and B, and P₀ is an initial state distribution, and x₀ is an initial state, and μ=[Ā,B] is a nominal model of the machine 104, and Ā is a nominal parameter for the impact of the state x_(t) at the step t, and B is a nominal parameter for an impact of the input u_(t) at the step t, and D is a parameter of a model of a perturbation, and σ∈

is a variance for the perturbation, and N(0,σ²I_(n)) is a Gaussian distribution, and w_(t) is noise of stochastic dynamics that is assumed to follow the Gaussian distribution N, and Q∈

^(n×n), R∈

^(m×m) are positive definite matrices which model a quadratic cost.

In one aspect, the controller 102 is adapted to determine a gain K for the policy u_(t)=π(x_(t))=Kx_(t) that minimizes the cost J(θ,K) for a finite horizon T considering an expected value E of the quadratic cost

$\begin{matrix} {{J\left( {\theta,K} \right)} = {\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{E\left\lbrack {\sum\limits_{t = 0}^{T}\;\left( {{x_{t}^{T}{Qx}_{t}} + {u_{t}^{T}{Ru}_{t}}} \right)} \right\rbrack}}}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}{\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{\sum\limits_{t = 1}^{T}\;{E\left\lbrack {\begin{bmatrix} x_{t} \\ u_{t} \end{bmatrix}^{T}\begin{bmatrix} x_{t} \\ u_{t} \end{bmatrix}} \right\rbrack}}}}} \right)}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}{\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{\sum\limits_{t = 1}^{T}\;{E\left\lbrack {\begin{bmatrix} x_{t} \\ {Kx}_{t} \end{bmatrix}^{T}\begin{bmatrix} x_{t} \\ {Kx}_{t} \end{bmatrix}} \right\rbrack}}}}} \right)}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}\begin{bmatrix} W & {WK}^{T} \\ {KW} & {KWK}^{T} \end{bmatrix}} \right)}} \end{matrix}$ where W=E[x_(t)x_(t) ^(T)] is a stationary state covariance, and θ=(A, B, Q, R) are parameters of the LQR problem.

In this aspect, the controller 102 is configured to determine W for given A and B by solving the following optimization problem:

$\arg\;{\min\limits_{W}{{trace}(W)}}$ s.t.  W ≽ (A + BK)W(A + BK)^(T)

This is a cone program, more specifically a semidefinite program which is convex.

The controller 102 may be configured in this aspect, to determine a quadratic loss

$l = {\sum\limits_{t = 1}^{T}\;{{u_{t} - u_{t}^{*}}}^{2}}$ where u_(t)* is a reference for the input that the controller 102 provides to the machine 104 in the step t.

The gain K is in this aspect determined iteratively with a gradient descent method. The controller 102 is configured in this aspect to determine a gradient

$\frac{\delta\; l}{\delta\theta}$ for the gradient descent method:

$\frac{\delta\; l}{\delta\theta} = {\frac{\delta\; l}{\delta\pi}\frac{\delta\pi}{\delta\; W}\frac{\delta\; W}{\delta\theta}}$

The reference u_(t)* and a reference for the state x_(t)* for training the controller 102 may be available from demonstration data D={u_(t)*,x_(t)*}_(t=1) ^(T).

The reference u_(t)* for training the controller 102 may be available from demonstration data D={u_(t)*,y_(t)*}_(t=1) ^(T), where y_(t)* is a observation at the step t.

The controller 102 in this aspect is trained with the gradient descent method based on the demonstration data D to yield

$\min\limits_{u_{1\text{:}T}}{{y_{t} - y_{t}^{*}}}_{2}$ s.t.  x_(t + 1) = Ax_(t) + Bu_(t) y_(t + 1) = Hx_(t + 1) where H is an observation function, e.g. describing a Kalman Filter.

The observation function H may be uncertain. In one aspect, an ellipsoidal uncertainty is modelded as

U={H=H₀+Σ_(i=1) ^(P)c_(i)H_(i)}, where U is an uncertainty set and H is an affine function of P parameters H_(i), and H₀ is a nominal observation function, and ∥c∥≤1 is a parameter.

The parameters θ in this aspect may include the observation function H: 0=(A,B,H)

The controller 102 is trained by determining the gradient

$\frac{\delta\; l}{\delta\theta}$ and determining the gain K with the gradient descent method.

In one aspect, the controller 102 is adapted to determine the gain K and a parameter Σ for the policy u_(t)=π(x_(t))=Kx_(t)+Σ^(1/2)e_(t), where e_(t)˜N(0,I) is an exploration term or understood as a Gaussian policy parametrization:

$\begin{matrix} {{J\left( {\theta,K} \right)} = {\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{E\left\lbrack {\sum\limits_{t = 0}^{T}\;\left( {{x_{t}^{T}{Qx}_{t}} + {u_{t}^{T}{Ru}_{t}}} \right)} \right\rbrack}}}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}{\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{\sum\limits_{t = 1}^{T}\;{E\left\lbrack {\begin{bmatrix} x_{t} \\ u_{t} \end{bmatrix}^{T}\begin{bmatrix} x_{t} \\ u_{t} \end{bmatrix}} \right\rbrack}}}}} \right)}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}{\lim\limits_{T\rightarrow\infty}{\frac{1}{T}{\sum\limits_{t = 1}^{T}\;{E\left\lbrack {\begin{bmatrix} x_{t} \\ {{Kx}_{t} + {\Sigma^{1\text{/}2}e_{t}}} \end{bmatrix}^{T}\begin{bmatrix} x_{t} \\ {{Kx}_{t} + {\Sigma^{1\text{/}2}e_{t}}} \end{bmatrix}} \right\rbrack}}}}} \right)}} \\ {= {{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}\begin{bmatrix} W & {WK}^{T} \\ {KW} & {{KWK}^{T} + \Sigma} \end{bmatrix}} \right)}} \end{matrix}$

In this aspect, the controller 102 is configured to determine W for given A and B by approximating a solution for the following optimization problem:

$\arg{\min\limits_{W}\mspace{14mu}{{trace}(W)}}$ s.t.  W ≽ (A + BK)W(A + BK)^(T) + B Σ B^(T) + σ²I

A worst-case scenario for the uncertainty is given by

$\min\limits_{W}\mspace{14mu}{{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}\Xi} \right)}$ s.t.  W ≽ ([A  B])Ξ[A  B]^(T) + σ²I[A  B] ∈ θ where $\Xi = {{\begin{bmatrix} W & Z \\ Z^{T} & Y \end{bmatrix}Z} = {WK}^{T}}$ Y = KWK^(T) + Σ

The controller 102 is in this aspect configured to determine W with the following cone program:

$\min\limits_{W}\mspace{14mu}{{trace}\left( {\begin{bmatrix} Q & 0 \\ 0 & R \end{bmatrix}\Xi} \right)}$ ${s.t.\mspace{14mu}\begin{bmatrix} I & {\sigma\; I} & 0 \\ {\sigma\; I} & {W - {\left\lbrack {\overset{\_}{A}\mspace{14mu}\overset{\_}{B}} \right\rbrack{\Xi\left\lbrack {\overset{\_}{A}\mspace{14mu}\overset{\_}{B}} \right\rbrack}^{T}}} & {\left\lbrack {\overset{\_}{A}\mspace{14mu}\overset{\_}{B}} \right\rbrack\Xi^{T}} \\ 0 & {\Xi\left\lbrack {\overset{\_}{A}\mspace{14mu}\overset{\_}{B}} \right\rbrack}^{T} & {{\lambda\; D} - \Xi} \end{bmatrix}} \succcurlyeq 0$ λ ≥ 0 where λ is a factor.

The parameters θ in this aspect may include the parameter of the model of the perturbation D and the variance σ: θ=(Ā,R,D,σ)

The controller 102 is configured to reconstruct the policy π from the gain K=Z ^(T) W ⁻¹ and the parameter Σ=Y−Z ^(T) W ⁻¹ Z

The controller 102 is configured in this aspect to determine the gradient

$\frac{\delta\; l}{\delta\theta}$ for the gradient descent method:

$\frac{\delta\; l}{\delta\theta} = {{\frac{\delta\; l}{\delta\pi}\frac{\delta\pi}{\delta\; W}\frac{\delta\; W}{\delta\theta}} = {\frac{\delta\; l}{\delta\left\lbrack {K,W} \right\rbrack}\frac{\delta\left\lbrack {K,W} \right\rbrack}{\delta\; W}\frac{\delta\; W}{\delta\theta}}}$

The reference u_(t)* and the reference for the state x_(t)* for training the controller 102 may be available from the demonstration data D={u_(t)*,x_(t)*}_(t=1) ^(T)

The reference u_(t)* for training the controller 102 may be available from the demonstration data D={u_(t)*,y_(t)*}_(t=1) ^(T), where y_(t)* is the observation at the step t.

The controller 102 is trained by determining the gradient

$\frac{\delta\; l}{\delta\theta}$ and determining the gain K and the parameter Σ with the gradient descent method.

The so trained controller 102 is then available to determine the input u_(t) for the machine 104 at the step t.

In one aspect, the cone programs described above are implemented as a differentiable layer. In an embodiment of the controller 102, the differentiable layer is implemented as a convolutional neural network.

The convolutional neural network is in one aspect trained with the demonstration data D={u_(t)*,x_(t)*}_(t=1) ^(T). After the training the state x of the machine 104 is mapped to the input u for the machine.

In another aspect, the convolutional neural network is trained with demonstration data D={u_(t)*,y_(t)*}_(t=1) ^(T). In this aspect, the information y about the state x is used.

A method for controlling the machine 104 is described below with reference to FIG. 2 . The method may be executed iteratively in steps t over time series of states x_(t) and inputs u_(t) where t=1, . . . T. The states x_(t) and inputs u_(t) may be scalar time series. The aim of the method is learning a policy for controlling the machine 104 and then operating the machine 104 accordingly.

The method applies to imitation learning, tracking or reinforcement learning alike.

Imitation learning:

For imitation learning, an expert giving demonstration is available that compromises between worst-case cases and optimal behavior. When an uncertainty or perturbation is present, this uncertainty is taken into account when learning from demonstration in order to improve the imitation performance.

In this case, the policy

$\pi = {\arg{\min\limits_{\pi}{\sum\limits_{t = 0}^{\infty}\;{\frac{1}{2}\left( {{\pi_{t}^{T}C_{t}\pi_{t}} + {c_{t}^{T}\pi_{t}}} \right)}}}}$ is learned s.t. x ₁ =x _(init) x _(t+1) =F _(t)π_(t) +f _(t) +w _(t) π_(t) ∈K where x_(init) is a, in particular random, init state, and K is a second order cone, w_(t) is white Gaussian noise, C_(t), c_(t),F_(t), f_(t) are bounded by an ellipsoidal uncertainty.

The method comprises a step 202.

In the step 202 a state x of the machine 104 is determined.

Determining the state x in one example comprises capturing an input with the sensor, in particular the camera, the radar sensor, the LiDAR sensor, the ultrasonic sensor, or the motion sensor, that monitors the machine 104 or the environment of the machine 104.

Determining the state x in one example comprises recognizing an object in at least a part of a digital image, determining a property of the object, in particular a position, a class or an attribute of the object, and determining the state x depending on the property.

Afterwards, a step 204 is executed.

In step 204 the policy π for mapping the state x of the machine 104 to the input u for the machine 104 is determined.

The controller 102 in this aspect is trained with the gradient descent method based on the demonstration data D to yield

$\min\limits_{u_{1:T}}{{y_{t} - y_{t}^{*}}}_{2}$ s.t.  x_(t + 1) = Ax_(t) + Bu_(t) y_(t + 1) = Hx_(t + 1) where H is the observation function.

The observation function H in this example is uncertain. In the example, the ellipsoidal uncertainty is modeled as

$U = \left\{ {H = {H_{0} + {\sum\limits_{i = 1}^{P}{c_{i}H_{i}}}}} \right\}$ where U is the uncertainty set and H is an affine function of P parameters H_(i), and H₀ is a nominal observation function, and ∥c∥≤1 is a parameter.

The parameters θ in this aspect may include the parameters C_(t), c_(t),F_(t), f_(t) and the observation function H: θ=(A,B,C _(t) ,c _(t) ,F _(t) ,f _(t) ,H) where C=[R,Q].

The controller 102 is trained by determining the gradient

$\frac{\delta\; l}{\delta\;\theta}$ and determining the gain K with the gradient descent method from demonstration data D={u_(t)*,y_(t)*}_(t−1) ^(T). with the loss

$l = {\sum\limits_{t = 1}^{T}{{u_{t} - u_{t}^{*}}}^{2}}$

The cost function J(θ, π) that is defined depending on the parameters θ and the policy π is minimized.

Determining the loss l may comprise reading a set D={π_(i)*}_(i=1) ^(N) of references π* for the policy π, selecting a first reference π_(i)* of the set D={π_(i)*}_(i=1) ^(N), determining a first difference l_(i) between the policy π and the first reference τ_(i)*, determining a sum of the first difference l_(i) and a second difference that is determined for another policy π and another reference of the set D={π_(i)*}_(i=1) ^(N) of references π* for the policy π, determining the loss l depending on the sum.

The loss l may be normalized by a factor 1/∥D∥ depending on a l2 norm of the distances that are determined for the policies π_(i)* of the set D.

The gradient

$\frac{\delta\; l}{\delta\;\theta}$ may be determined from the partial derivative

$\frac{\delta\; l}{\pi}$ of the loss l with respect to the policy π, the partial derivative

$\frac{\delta\pi}{\delta\; W}$ of the policy π with respect to the solution W and the partial derivative

$\frac{\delta\; W}{\delta\theta}$ of the solution W with respect to the respective parameters θ.

Determining the solution W and Z to the cone program comprises determining the policy π depending on the solution W that minimizes the cost function J(θ, π) for the parameters θ of the linear quadratic regulator.

The loss l may be determined depending on a difference ∥π−π*∥ between the policy π and the reference π* for the policy π.

The cone program that is defined as described above by the parameters θ of the linear quadratic regulator for the machine 104 is solved subject to the constraint that is defined as described above for the parameters θ and for the solution W of the cone program.

The cost function J(θ, π) that is defined depending on the parameters θ and the policy π is minimized.

Determining the policy π comprises determining the solution W to the cone program for that the cost function J(θ, π) meets a criterion subject to the constraint.

With the gradient descent method at least a subset of the parameters θ are determined depending on these partial derivatives for that the loss l meets a criterion. The method may comprise determining all parameters θ as well. The criterion may be that the loss is minimized. In this aspect, the subset of the parameters θ or the parameters θ that minimize the loss are determined.

The differentiable layer is updated with the parameters θ that define the policy π. In one aspect, the convolutional neural network parameters are updated according to the parameters θ.

The policy parameter K is for example reconstructed from W and Z by determining K=Z^(T) W⁻¹.

Afterwards, a step 206 is executed.

In the step 206 the state x is mapped to the input u for the machine 104 according to the policy π.

The state x is in one aspect mapped by the convolutional neural network.

Afterwards, a step 208 is executed.

In the step 208 the machine 104 is controlled according to the input u for the machine 104. For example, an actuator of the machine 104 is actuated according to the input u for the machine.

After the step 208, the step 202 may be executed.

For example, a movement of the machine 104 in the environment is controlled by repeatedly executing these steps. The movement may be controlled from the position represented by the state x in particular to a target position.

Tracking

For tracking, a robust policy is learned from corresponding demonstration data D={u_(t)*,y_(t)*}_(t=1) ^(T). The method steps 202 to 208 described above are executed for tracking as well. In contrast to the step 204 described above, the robust policy is learned for tracking from the demonstration data D={u_(t)*,y_(t)*}_(t=1) ^(T), where y_(t)* is the observation at the step t.

The controller 102 in this aspect is trained with the gradient descent method based on the demonstration data D to yield

$\min\limits_{u_{1:T}}{{y_{t} - y_{t}^{*}}}_{2}$ s.t.  x_(t + 1) = Ax_(t) + Bu_(t) y_(t + 1) = Hx_(t + 1)

The gradient

$\frac{\delta\; l}{\delta\;\theta}$ may be determined from the partial derivative

$\frac{\delta\; l}{\pi}$ of the loss l with respect to the policy π, the partial derivative

$\frac{\delta\pi}{\delta\; W}$ of the policy π with respect to the solution W and the partial derivative

$\frac{\delta\; W}{\delta\theta}$ of the solution W with respect to the respective parameters θ as described above.

Reinforcement Learning

For reinforcement learning, a robust policy is learned that is both safe, i.e. optimized for the worse-cases, and able to trade-off between exploration and exploitation. The method steps 202 to 208 described above are executed for reinforcement learning as well. In contrast to the step 204 described above, the policy u_(t)=π(x_(t))=Kx_(t)+Σ^(1/2)e_(t) with the exploration term parameter e_(t)˜N(0,I) is learned by determining the gain K and/or the parameter Σ with the corresponding gradient descent method as described above.

The training of the controller 102 depends on the type of policy π. The policy π may comprise the gain K for the LQR controller without exploration parameter Σ.

In this aspect, the method comprises, determining the gain K depending on the solution W and determining the loss l as described above.

The policy π may comprise the gain K and the exploration parameter Σ.

In this aspect, the method comprises, determining the gain K and the exploration parameter Σ depending on the solution W as described above.

In one aspect, the parameters θ=(Ā, B, Q, R, D, σ) comprise the parameters Ā, B of the state equation for the machine 104, at least one parameter D that models a perturbation attributed to the parameters Ā, B of the state equation for the machine 104, at least one parameter a that models a variance of the perturbation, and the parameters Q, R of the cost function J(θ, π)).

The training of the controller 102 depends on the configuration of the training data.

In one aspect, the method may comprise predetermining the parameters Ā, B of the state equation, predetermining the at least one parameter a that models the variance, and predetermining the parameters Q, R of the cost function J(θ, π). In this aspect, the method may comprise determining the at least one parameter D that models the perturbation for that the cost function J(∂, π) meets the criterion depending on these predetermined parameters.

The method comprises determining a positive semidefinite matrix M belonging to a positive semidefinite cone in a subspace of symmetric matrices that meets the constraint as described above. This matrix

$M = \begin{bmatrix} I & {\sigma\; I} & 0 \\ {\sigma\; I} & {W - \left\lbrack \begin{matrix} \overset{\_}{A} & {\left. \overset{\_}{B} \right\rbrack{\Xi\left\lbrack \begin{matrix} \overset{\_}{A} & \left. \overset{\_}{B} \right\rbrack^{T} \end{matrix} \right.}} \end{matrix} \right.} & \left\lbrack \begin{matrix} \overset{\_}{A} & {\left. \overset{\_}{B} \right\rbrack\Xi^{T}} \end{matrix} \right. \\ 0 & {\Xi\left\lbrack \begin{matrix} \overset{\_}{A} & \left. \overset{\_}{B} \right\rbrack^{T} \end{matrix} \right.} & {{\lambda\; D} - \Xi} \end{bmatrix}$ comprises elements that are defined depending on the parameters of the state equation for the machine 104. This matrix M comprises elements that are defined depending on the solution W.

In another aspect, the method may comprise predetermining the parameters of the state equation for the machine 104 and determining the solution W for that the matrix M meets the the constraint for the predetermined parameters of the state equation for the machine 104.

In addition to this, the matrix M may comprise elements that are defined depending on the at least one parameter D that models the perturbation.

In addition to this, the matrix M may comprise elements that are defined depending on the at least one parameter G that models the variance.

In this case, the method may comprise predetermining the at least one parameter D that models the perturbation, predetermining the at least one parameter a that models the variance, and determining the solution W for that the matrix M meets the the constraint for the predetermined parameters of the state equation for the machine 104, the predetermined at least one parameter D that models the perturbation, and the predetermined at least one parameter G that models the variance.

At least one element of the matrix M may be determined as described above depending on a factor λ that is larger than Zero or equal to Zero.

In another aspect, the method may comprise predetermining the at least one parameter D that models the perturbation, predetermining the at least one parameter a that models the variance, predetermining the parameters Q, R of the cost function J(θ, π). In this aspect, the method may comprise determining the parameters Ā, B of the state equation for that the cost function J(θ, π) meets the criterion depending on these predetermined parameters. 

What is claimed is:
 1. A computer implemented method of controlling a machine, the method comprising the following steps: determining a state of the machine; determining a policy including parameters, for mapping the state of the machine to an input for the machine, the parameters including a gain; mapping the state to the input according to the policy; controlling the machine according to the input; wherein a cone program is defined by a plurality of parameters of a linear quadratic regulator for the machine, wherein a cost function is defined depending on the plurality of parameters and the policy, wherein a constraint is defined for the parameters and for a solution of the cone program, wherein the determining of the policy includes determining the solution to the cone program so that the cost function meets a criterion subject to the constraint, determining the parameters depending on the solution, determining a normalized loss depending on a difference between the policy and a reference for the policy or depending on a difference between the input and a reference for the input for the machine, determining a partial derivative of the loss with respect to the policy, determining a partial derivative of the policy with respect to the solution, determining a partial derivative of the solution with respect to the plurality of parameters, and determining at least a subset of the plurality of parameters depending on the partial derivatives so that the loss meets a criterion.
 2. The method according to claim 1, wherein the determining of at least the subset of the plurality of parameters so that the loss meets the criterion includes determining the at least the subset of the plurality of parameters that minimizes the loss.
 3. The method according to claim 1, wherein the plurality of parameters includes parameters of a state equation for the machine, at least one parameter that models a perturbation attributed to the parameters of the state equation for the machine, at least one parameter that models a variance of the perturbation, and parameters of the cost function, wherein the method further comprising: predetermining the parameters of the state equation, predetermining the at least one parameter that models the variance, predetermining the parameters of the cost function, and determining the at least one parameter that models the perturbation for that the cost function meets the criterion depending on the predetermined parameters.
 4. The method according to claim 3, further comprising: determining a positive semidefinite matrix belonging to a positive semidefinite cone in a subspace of symmetric matrices that meets the constraint, wherein the matrix includes elements that are defined depending on the parameters of the state equation for the machine and/or that are defined depending the solution, and wherein the method further comprises predetermining the parameters of the state equation for the machine and determining the solution for that the matrix meets the constraint for the predetermined parameters of the state equation for the machine.
 5. The method according to claim 4, wherein the matrix includes elements that are defined depending on the at least one parameter that models the perturbation and in that the matrix includes elements that are defined depending on the at least one parameter that models the variance, and wherein the method further comprises predetermining the at least one parameter that models the perturbation, predetermining the at least one parameter that models the variance, and determining the solution for that the matrix meets the constraint for the predetermined parameters of the state equation for the machine, the predetermined at least one parameter that models the perturbation, and the predetermined at least one parameter that models the variance.
 6. The method according to claim 4, further comprising determining at least one element of the matrix depending on a factor that is larger than Zero or equal to Zero.
 7. The method according to claim 1, wherein the plurality of parameters include parameters of a state equation for the machine, at least one parameter that models a perturbation attributed to the parameters of the state equation for the machine, at least one parameter that models a variance of the perturbation, and parameters of the cost function, and wherein the method further comprises: predetermining the at least one parameter that models the perturbation, predetermining the at least one parameter that models the variance, predetermining the parameters of the cost function, and determining the parameters of the state equation for that the cost function meets the criterion depending on the predetermined parameters.
 8. The method according to claim 7, further comprising: determining a positive semidefinite matrix belonging to a positive semidefinite cone in a subspace of symmetric matrices that meets the constraint, wherein the matrix includes elements that are defined depending on the parameters of the state equation for the machine and/or that are defined depending the solution, and wherein the method further comprises predetermining the parameters of the state equation for the machine and determining the solution for that the matrix meets the constraint for the predetermined parameters of the state equation for the machine.
 9. The method according to claim 1, wherein the determining of the solution to the cone program includes determining the policy depending on the solution that minimizes the cost function for the plurality of parameters of the linear quadratic regulator.
 10. The method according to claim 1, further comprising: reading a set of references for the policy; selecting a first reference of the set; determining a first difference between the policy and the first reference; determining a sum of the first difference and a second difference that is determined for another policy and another reference of the set of references for the policy; and determining the loss depending on the sum.
 11. The method according to claim 1, wherein the input includes a digital image, wherein determining the state includes: recognizing an object in at least a part of the digital image, determining a property of the object, the property being a position of the object, or a class of the objection, or an attribute of the object, and determining the state depending on the property.
 12. The method according to claim 1, further comprising: capturing the input with a sensor, the sensor being a camera, or a radar sensor, or a LiDAR sensor, or a ultrasonic sensor, or a motion sensor, that monitors the machine or an environment of the machine.
 13. A device for controlling a machine, the device configured to: determine a state of the machine; determine a policy including parameters, for mapping the state of the machine to an input for the machine, the parameters including a gain; map the state to the input according to the policy; control the machine according to the input; wherein a cone program is defined by a plurality of parameters of a linear quadratic regulator for the machine, wherein a cost function is defined depending on the plurality of parameters and the policy, wherein a constraint is defined for the parameters and for a solution of the cone program, wherein the determination of the policy includes determining the solution to the cone program so that the cost function meets a criterion subject to the constraint, determining the parameters depending on the solution, determining a normalized loss depending on a difference between the policy and a reference for the policy or depending on a difference between the input and a reference for the input for the machine, determining a partial derivative of the loss with respect to the policy, determining a partial derivative of the policy with respect to the solution, determining a partial derivative of the solution with respect to the plurality of parameters, and determining at least a subset of the plurality of parameters depending on the partial derivatives so that the loss meets a criterion.
 14. A non-transitory computer-readable storage medium on which is stored a computer program including computer readable instructions for controlling a machine, the instructions, when executed by a computer, causing the computer to perform the following steps: determining a state of the machine; determining a policy including parameters, for mapping the state of the machine to an input for the machine, the parameters including a gain; mapping the state to the input according to the policy; controlling the machine according to the input; wherein a cone program is defined by a plurality of parameters of a linear quadratic regulator for the machine, wherein a cost function is defined depending on the plurality of parameters and the policy, wherein a constraint is defined for the parameters and for a solution of the cone program, wherein the determining of the policy includes determining the solution to the cone program so that the cost function meets a criterion subject to the constraint, determining the parameters depending on the solution, determining a normalized loss depending on a difference between the policy and a reference for the policy or depending on a difference between the input and a reference for the input for the machine, determining a partial derivative of the loss with respect to the policy, determining a partial derivative of the policy with respect to the solution, determining a partial derivative of the solution with respect to the plurality of parameters, and determining at least a subset of the plurality of parameters depending on the partial derivatives so that the loss meets a criterion. 